<?php
/**
 * Created by PhpStorm.
 * User: lidaqi
 * Date: 2018.02.02
 * Time: 11:32
 */

/**
 * 下载文件
 * @param $file_url 文件地址
 * @param $new_name 下载文件名（不填默认原文件名）
 */
function download($file_url, $new_name = '')
{
    //文件地址不为空，文件存在
    if (!isset($file_url) || trim($file_url == '' || !file_exists($file_url))) {
        return abort(404);
    }
    $file_name = basename($file_url);
    $file_type = explode('.', $file_url);
    $file_type = $file_type[count($file_type) - 1];
    $file_name = trim($new_name == '') ? $file_name : urlencode($new_name);
    $file_type = fopen($file_url, 'r'); //打开文件
    //输入文件标签
    header("Content-type: application/octet-stream");
    header("Accept-Ranges: bytes");
    header("Accept-Length: " . filesize($file_url));
    header("Content-Disposition: attachment; filename=" . $file_name);
    //输出文件内容
    echo fread($file_type, filesize($file_url));
    fclose($file_type);
}